package collection;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class ListDemo {
    public static void main(String[] args) {
        List<String> list=new LinkedList<>();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        list.add("one");//list可重复
        /*
        泛型     集合  获取    下标
        String  list.get(int index);//获取指定下标所对应的元素
         */
        String e=list.get(2);
        System.out.println(e);//three
          //                 集合下标
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));//输出下标元素
        }
        for (String s:list){
            System.out.println(s);
        }
      //迭代器   泛型         集合  泛型方法
        Iterator<String> it=list.iterator();
        //判断是否有下一个
while (it.hasNext()){
    //                输出下一个
    System.out.println(it.next());

}
        System.out.println("--------------------");
/*泛型 设置   下标  元素类型 元素
E ste(int index,E e);将给定元素设置到指定位置，返回被替换的元素--一般不接收
list.set(2,"six");//将list中下标为2的元素设置为six--常规用法
 */
        //              设置
        String old=list.set(2,"six");//将下标2改为six，并返回原数据
        System.out.println("list"+list);//输出修改后list集合
        System.out.println(old);//输出返回的元素

        /*
        泛型
        E remove(int index);//删除指定位置元素，并返回元素
        集合
        list.remove（2）；//删除下标2的元素
         */
        String s=list.remove(2);//删除list集合中下标为2的元素，并将原值返回
        System.out.println("list"+list);//输出删除后的集合
        System.out.println(s);//输出被删除的元素
        /*
        void add(int index,E e);
        将给定元素e添加到index所指定的位置，相当于插入操作
         */
        list.add(3,"seven");//在list集合中下标为3的位置插入seve
        System.out.println(list);//插入后的list

    }
}
